///*******************************************************************************
// * Copyright (c) 2009, 2010 Remy Chi Jian Suen and others.
// * All rights reserved. This program and the accompanying materials
// * are made available under the terms of the Eclipse Public License v1.0
// * which accompanies this distribution, and is available at
// * http://www.eclipse.org/legal/epl-v10.html
// *
// * Contributors:
// * Remy Chi Jian Suen <remy.suen@gmail.com> - initial API and implementation
// * IBM - ongoing development
// * David Green <dgreen99@gmail.com> - test for bug 301196
// ******************************************************************************/
//package org.eclipse.ui.tests.fieldassist;
//
//import org.eclipse.core.commands.AbstractHandler;
//import org.eclipse.core.commands.ExecutionEvent;
//import org.eclipse.core.expressions.EvaluationResult;
//import org.eclipse.core.expressions.Expression;
//import org.eclipse.core.expressions.ExpressionInfo;
//import org.eclipse.core.expressions.IEvaluationContext;
//import org.eclipse.jface.tests.fieldassist.AbstractFieldAssistWindow;
//import org.eclipse.ui.ISources;
//import org.eclipse.ui.IWorkbenchCommandConstants;
//import org.eclipse.ui.PlatformUI;
//import org.eclipse.ui.handlers.IHandlerActivation;
//import org.eclipse.ui.handlers.IHandlerService;
//
//public class TextContentAssistCommandAdapterTest extends
// AbstractContentAssistCommandAdapterTest {
//
// protected AbstractFieldAssistWindow createFieldAssistWindow() {
// return new TextCommandFieldAssistWindow();
// }
//
// /**
// * bug 301196: [FieldAssist] ContentAssistCommandAdapter should provide an activation expression when activating the command handler
// * https://bugs.eclipse.org/bugs/show_bug.cgi?id=301196
// *
// */
// public void testBug301196CorrectHandlerConflictResolution() throws Exception {
//
// final boolean[] handlerInvocationIndicator = new boolean[] {false};
//
// IHandlerService service = (IHandlerService) PlatformUI.getWorkbench().getService(IHandlerService.class);
// IHandlerActivation handlerActivation = service.activateHandler(IWorkbenchCommandConstants.EDIT_CONTENT_ASSIST, new AbstractHandler() {
//
// public Object execute(ExecutionEvent event) {
// handlerInvocationIndicator[0] = true;
// return null;
// }
// },new Expression() {
// public void collectExpressionInfo(ExpressionInfo info) {
// info.addVariableNameAccess(ISources.ACTIVE_SHELL_NAME);
// }
// public EvaluationResult evaluate(IEvaluationContext context) {
// return EvaluationResult.TRUE; // always enabled
// }
// });
// try {
// getFieldAssistWindow().open();
// sendFocusInToControl();
// executeContentAssistHandler();
// assertTwoShellsUp();
// // The handler registered by the command adapter should win over the test handler.
// assertFalse("test handler should not have been activated", handlerInvocationIndicator[0]);
// } finally {
// service.deactivateHandler(handlerActivation);
// }
// }
//}